﻿using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace Devonline.Core;

/// <summary>
/// 24节气
/// "小寒", "大寒", "立春", "雨水", "惊蛰", "春分", "清明", "谷雨", "立夏", "小满", "芒种", "夏至", "小暑", "大暑", "立秋", "处暑", "白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪", "冬至"
/// </summary>
[Description("节气")]
public enum SolarTerm
{
    /// <summary>
    /// 立春 the Beginning of Spring （1st solar term）Feb.3,4, or 5
    /// </summary>
    [Display(Name = "立春")]
    BeginningOfSpring = 1,
    /// <summary>
    /// 雨水 Rain Water （2nd solar term）Feb.18,19 or 20
    /// </summary>
    [Display(Name = "雨水")]
    RainWater,
    /// <summary>
    /// 惊蜇 the Waking of Insects （3rd solar term）Mar.5,6, or 7
    /// </summary>
    [Display(Name = "惊蜇")]
    WakingOfInsects,
    /// <summary>
    /// 春分 the Spring Equinox （4th solar term）Mar.20,21 or 22
    /// </summary>
    [Display(Name = "春分")]
    SpringEquinox,
    /// <summary>
    /// 清明 Pure Brightness （5th solar term）Apr.4,5 or 6
    /// </summary>
    [Display(Name = "清明")]
    PureBrightness,
    /// <summary>
    /// 谷雨 Grain Rain （6th solar teram）Apr.19,20 or 21
    /// </summary>
    [Display(Name = "谷雨")]
    GrainRain,
    /// <summary>
    /// 立夏 the Beginning of Summer （7th solar term）May 5,6 or 7
    /// </summary>
    [Display(Name = "立夏")]
    BeginningOfSummer,
    /// <summary>
    /// 小满 Lesser Fullness of Grain （8th solar term）May 20,21 or 22
    /// </summary>
    [Display(Name = "小满")]
    LesserFullnessOfGrain,
    /// <summary>
    /// 芒种 Grain in Beard （9th solar term）Jun.5,6 or 7
    /// </summary>
    [Display(Name = "芒种")]
    GrainInBeard,
    /// <summary>
    /// 夏至 the Summer Solstice （10th solar term）Jun.21 or 22
    /// </summary>
    [Display(Name = "夏至")]
    SummerSolstice,
    /// <summary>
    /// 小暑 Lesser Heat （11th solar term）Jul.6,7 or 8
    /// </summary>
    [Display(Name = "小暑")]
    LesserHeat,
    /// <summary>
    /// 大暑 Greater Heat （12th solar term）Jul.22,23 or 24
    /// </summary>
    [Display(Name = "大暑")]
    GreaterHeat,
    /// <summary>
    /// 立秋 the Beginning of Autumn （13th solar term）Aug.7,8 or 9
    /// </summary>
    [Display(Name = "立秋")]
    BeginningOfAutumn,
    /// <summary>
    /// 处暑 the End of Heat （14th solar term）Aug.22,23 or 24
    /// </summary>
    [Display(Name = "处暑")]
    EndOfHeat,
    /// <summary>
    /// 白露 White Dew （15th solar term）Sep.7,8 or 9
    /// </summary>
    [Display(Name = "白露")]
    WhiteDew,
    /// <summary>
    /// 秋分 the Autumn Equinox （16th solar term）Sep.22,23 or 24
    /// </summary>
    [Display(Name = "秋分")]
    AutumnEquinox,
    /// <summary>
    /// 寒露 Cold Dew （17th solar term）Oct.8 or 9
    /// </summary>
    [Display(Name = "寒露")]
    ColdDew,
    /// <summary>
    /// 霜降 Frost‘s Descent （18th solar term）Oct.23 or 24
    /// </summary>
    [Display(Name = "霜降")]
    FrostDescent,
    /// <summary>
    /// 立冬 the Beginning of Winter （19th solar term）Nov.7 or 8
    /// </summary>
    [Display(Name = "立冬")]
    BeginningOfWinter,
    /// <summary>
    /// 小雪 Lesser Snow （20th solar term）Nov.22 or 23
    /// </summary>
    [Display(Name = "小雪")]
    LesserSnow,
    /// <summary>
    /// 大雪 Greater Snow （21th solar term）Dec.6,7 or 8
    /// </summary>
    [Display(Name = "大雪")]
    GreaterSnow,
    /// <summary>
    /// 冬至 the Winter Solstice （22th solar term）Dec.21,22 or 23
    /// </summary>
    [Display(Name = "冬至")]
    WinterSolstice,
    /// <summary>
    /// 小寒 Lesser Cold （23th solar term）Jan.5,6 or 7
    /// </summary>
    [Display(Name = "小寒")]
    LesserCold,
    /// <summary>
    /// 大寒 Greater Cold （24th solar term）Jan.20 or 2
    /// </summary>
    [Display(Name = "大寒")]
    GreaterCold
}